package com.zj.fx.model.month;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import cn.hutool.core.util.StrUtil;

/**
 * 必备条件指标库表 MonthNecessaryExample
 * @author SQL_自动生成
 * @date 2023-07-10 17:32:24
 */
public class MonthNecessaryExample {

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MonthNecessaryExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        
            public Criteria andIdIsNull() {
                addCriterion("id is null");
                return (Criteria) this;
            }

            public Criteria andIdIsNotNull() {
                addCriterion("id is not null");
                return (Criteria) this;
            }

            public Criteria andIdEqualTo(String value) {
                addCriterion("id =", value, "id");
                return (Criteria) this;
            }

            public Criteria andIdNotEqualTo(String value) {
                addCriterion("id <>", value, "id");
                return (Criteria) this;
            }

            public Criteria andIdGreaterThan(String value) {
                addCriterion("id >", value, "id");
                return (Criteria) this;
            }

            public Criteria andIdGreaterThanOrEqualTo(String value) {
                addCriterion("id >=", value, "id");
                return (Criteria) this;
            }

            public Criteria andIdLessThan(String value) {
                addCriterion("id <", value, "id");
                return (Criteria) this;
            }

            public Criteria andIdLessThanOrEqualTo(String value) {
                addCriterion("id <=", value, "id");
                return (Criteria) this;
            }

            public Criteria andIdLike(String value) {
                addCriterion("id like", value, "id");
                return (Criteria) this;
            }

            public Criteria andIdNotLike(String value) {
                addCriterion("id not like", value, "id");
                return (Criteria) this;
            }

            public Criteria andIdIn(List<String> values) {
                addCriterion("id in", values, "id");
                return (Criteria) this;
            }

            public Criteria andIdNotIn(List<String> values) {
                addCriterion("id not in", values, "id");
                return (Criteria) this;
            }

            public Criteria andIdBetween(String value1, String value2) {
                addCriterion("id between", value1, value2, "id");
                return (Criteria) this;
            }

            public Criteria andIdNotBetween(String value1, String value2) {
                addCriterion("id not between", value1, value2, "id");
                return (Criteria) this;
            }

        
            public Criteria andNumIsNull() {
                addCriterion("num is null");
                return (Criteria) this;
            }

            public Criteria andNumIsNotNull() {
                addCriterion("num is not null");
                return (Criteria) this;
            }

            public Criteria andNumEqualTo(String value) {
                addCriterion("num =", value, "num");
                return (Criteria) this;
            }

            public Criteria andNumNotEqualTo(String value) {
                addCriterion("num <>", value, "num");
                return (Criteria) this;
            }

            public Criteria andNumGreaterThan(String value) {
                addCriterion("num >", value, "num");
                return (Criteria) this;
            }

            public Criteria andNumGreaterThanOrEqualTo(String value) {
                addCriterion("num >=", value, "num");
                return (Criteria) this;
            }

            public Criteria andNumLessThan(String value) {
                addCriterion("num <", value, "num");
                return (Criteria) this;
            }

            public Criteria andNumLessThanOrEqualTo(String value) {
                addCriterion("num <=", value, "num");
                return (Criteria) this;
            }

            public Criteria andNumLike(String value) {
                addCriterion("num like", value, "num");
                return (Criteria) this;
            }

            public Criteria andNumNotLike(String value) {
                addCriterion("num not like", value, "num");
                return (Criteria) this;
            }

            public Criteria andNumIn(List<String> values) {
                addCriterion("num in", values, "num");
                return (Criteria) this;
            }

            public Criteria andNumNotIn(List<String> values) {
                addCriterion("num not in", values, "num");
                return (Criteria) this;
            }

            public Criteria andNumBetween(String value1, String value2) {
                addCriterion("num between", value1, value2, "num");
                return (Criteria) this;
            }

            public Criteria andNumNotBetween(String value1, String value2) {
                addCriterion("num not between", value1, value2, "num");
                return (Criteria) this;
            }

        
            public Criteria andFirstProjectIsNull() {
                addCriterion("first_project is null");
                return (Criteria) this;
            }

            public Criteria andFirstProjectIsNotNull() {
                addCriterion("first_project is not null");
                return (Criteria) this;
            }

            public Criteria andFirstProjectEqualTo(String value) {
                addCriterion("first_project =", value, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectNotEqualTo(String value) {
                addCriterion("first_project <>", value, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectGreaterThan(String value) {
                addCriterion("first_project >", value, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectGreaterThanOrEqualTo(String value) {
                addCriterion("first_project >=", value, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectLessThan(String value) {
                addCriterion("first_project <", value, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectLessThanOrEqualTo(String value) {
                addCriterion("first_project <=", value, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectLike(String value) {
                addCriterion("first_project like", value, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectNotLike(String value) {
                addCriterion("first_project not like", value, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectIn(List<String> values) {
                addCriterion("first_project in", values, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectNotIn(List<String> values) {
                addCriterion("first_project not in", values, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectBetween(String value1, String value2) {
                addCriterion("first_project between", value1, value2, "firstProject");
                return (Criteria) this;
            }

            public Criteria andFirstProjectNotBetween(String value1, String value2) {
                addCriterion("first_project not between", value1, value2, "firstProject");
                return (Criteria) this;
            }

        
            public Criteria andSecondProjectIsNull() {
                addCriterion("second_project is null");
                return (Criteria) this;
            }

            public Criteria andSecondProjectIsNotNull() {
                addCriterion("second_project is not null");
                return (Criteria) this;
            }

            public Criteria andSecondProjectEqualTo(String value) {
                addCriterion("second_project =", value, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectNotEqualTo(String value) {
                addCriterion("second_project <>", value, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectGreaterThan(String value) {
                addCriterion("second_project >", value, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectGreaterThanOrEqualTo(String value) {
                addCriterion("second_project >=", value, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectLessThan(String value) {
                addCriterion("second_project <", value, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectLessThanOrEqualTo(String value) {
                addCriterion("second_project <=", value, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectLike(String value) {
                addCriterion("second_project like", value, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectNotLike(String value) {
                addCriterion("second_project not like", value, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectIn(List<String> values) {
                addCriterion("second_project in", values, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectNotIn(List<String> values) {
                addCriterion("second_project not in", values, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectBetween(String value1, String value2) {
                addCriterion("second_project between", value1, value2, "secondProject");
                return (Criteria) this;
            }

            public Criteria andSecondProjectNotBetween(String value1, String value2) {
                addCriterion("second_project not between", value1, value2, "secondProject");
                return (Criteria) this;
            }

        
            public Criteria andTestModeIsNull() {
                addCriterion("test_mode is null");
                return (Criteria) this;
            }

            public Criteria andTestModeIsNotNull() {
                addCriterion("test_mode is not null");
                return (Criteria) this;
            }

            public Criteria andTestModeEqualTo(String value) {
                addCriterion("test_mode =", value, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeNotEqualTo(String value) {
                addCriterion("test_mode <>", value, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeGreaterThan(String value) {
                addCriterion("test_mode >", value, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeGreaterThanOrEqualTo(String value) {
                addCriterion("test_mode >=", value, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeLessThan(String value) {
                addCriterion("test_mode <", value, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeLessThanOrEqualTo(String value) {
                addCriterion("test_mode <=", value, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeLike(String value) {
                addCriterion("test_mode like", value, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeNotLike(String value) {
                addCriterion("test_mode not like", value, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeIn(List<String> values) {
                addCriterion("test_mode in", values, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeNotIn(List<String> values) {
                addCriterion("test_mode not in", values, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeBetween(String value1, String value2) {
                addCriterion("test_mode between", value1, value2, "testMode");
                return (Criteria) this;
            }

            public Criteria andTestModeNotBetween(String value1, String value2) {
                addCriterion("test_mode not between", value1, value2, "testMode");
                return (Criteria) this;
            }

        
            public Criteria andEvaluationPeriodIsNull() {
                addCriterion("evaluation_period is null");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodIsNotNull() {
                addCriterion("evaluation_period is not null");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodEqualTo(String value) {
                addCriterion("evaluation_period =", value, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodNotEqualTo(String value) {
                addCriterion("evaluation_period <>", value, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodGreaterThan(String value) {
                addCriterion("evaluation_period >", value, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodGreaterThanOrEqualTo(String value) {
                addCriterion("evaluation_period >=", value, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodLessThan(String value) {
                addCriterion("evaluation_period <", value, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodLessThanOrEqualTo(String value) {
                addCriterion("evaluation_period <=", value, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodLike(String value) {
                addCriterion("evaluation_period like", value, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodNotLike(String value) {
                addCriterion("evaluation_period not like", value, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodIn(List<String> values) {
                addCriterion("evaluation_period in", values, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodNotIn(List<String> values) {
                addCriterion("evaluation_period not in", values, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodBetween(String value1, String value2) {
                addCriterion("evaluation_period between", value1, value2, "evaluationPeriod");
                return (Criteria) this;
            }

            public Criteria andEvaluationPeriodNotBetween(String value1, String value2) {
                addCriterion("evaluation_period not between", value1, value2, "evaluationPeriod");
                return (Criteria) this;
            }

        
            public Criteria andResDeptIdIsNull() {
                addCriterion("res_dept_id is null");
                return (Criteria) this;
            }

            public Criteria andResDeptIdIsNotNull() {
                addCriterion("res_dept_id is not null");
                return (Criteria) this;
            }

            public Criteria andResDeptIdEqualTo(String value) {
                addCriterion("res_dept_id =", value, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdNotEqualTo(String value) {
                addCriterion("res_dept_id <>", value, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdGreaterThan(String value) {
                addCriterion("res_dept_id >", value, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdGreaterThanOrEqualTo(String value) {
                addCriterion("res_dept_id >=", value, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdLessThan(String value) {
                addCriterion("res_dept_id <", value, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdLessThanOrEqualTo(String value) {
                addCriterion("res_dept_id <=", value, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdLike(String value) {
                addCriterion("res_dept_id like", value, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdNotLike(String value) {
                addCriterion("res_dept_id not like", value, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdIn(List<String> values) {
                addCriterion("res_dept_id in", values, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdNotIn(List<String> values) {
                addCriterion("res_dept_id not in", values, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdBetween(String value1, String value2) {
                addCriterion("res_dept_id between", value1, value2, "resDeptId");
                return (Criteria) this;
            }

            public Criteria andResDeptIdNotBetween(String value1, String value2) {
                addCriterion("res_dept_id not between", value1, value2, "resDeptId");
                return (Criteria) this;
            }

        
            public Criteria andResDeptNameIsNull() {
                addCriterion("res_dept_name is null");
                return (Criteria) this;
            }

            public Criteria andResDeptNameIsNotNull() {
                addCriterion("res_dept_name is not null");
                return (Criteria) this;
            }

            public Criteria andResDeptNameEqualTo(String value) {
                addCriterion("res_dept_name =", value, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameNotEqualTo(String value) {
                addCriterion("res_dept_name <>", value, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameGreaterThan(String value) {
                addCriterion("res_dept_name >", value, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameGreaterThanOrEqualTo(String value) {
                addCriterion("res_dept_name >=", value, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameLessThan(String value) {
                addCriterion("res_dept_name <", value, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameLessThanOrEqualTo(String value) {
                addCriterion("res_dept_name <=", value, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameLike(String value) {
                addCriterion("res_dept_name like", value, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameNotLike(String value) {
                addCriterion("res_dept_name not like", value, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameIn(List<String> values) {
                addCriterion("res_dept_name in", values, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameNotIn(List<String> values) {
                addCriterion("res_dept_name not in", values, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameBetween(String value1, String value2) {
                addCriterion("res_dept_name between", value1, value2, "resDeptName");
                return (Criteria) this;
            }

            public Criteria andResDeptNameNotBetween(String value1, String value2) {
                addCriterion("res_dept_name not between", value1, value2, "resDeptName");
                return (Criteria) this;
            }

        
            public Criteria andSupportingFileIdIsNull() {
                addCriterion("supporting_file_id is null");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdIsNotNull() {
                addCriterion("supporting_file_id is not null");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdEqualTo(String value) {
                addCriterion("supporting_file_id =", value, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdNotEqualTo(String value) {
                addCriterion("supporting_file_id <>", value, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdGreaterThan(String value) {
                addCriterion("supporting_file_id >", value, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdGreaterThanOrEqualTo(String value) {
                addCriterion("supporting_file_id >=", value, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdLessThan(String value) {
                addCriterion("supporting_file_id <", value, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdLessThanOrEqualTo(String value) {
                addCriterion("supporting_file_id <=", value, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdLike(String value) {
                addCriterion("supporting_file_id like", value, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdNotLike(String value) {
                addCriterion("supporting_file_id not like", value, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdIn(List<String> values) {
                addCriterion("supporting_file_id in", values, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdNotIn(List<String> values) {
                addCriterion("supporting_file_id not in", values, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdBetween(String value1, String value2) {
                addCriterion("supporting_file_id between", value1, value2, "supportingFileId");
                return (Criteria) this;
            }

            public Criteria andSupportingFileIdNotBetween(String value1, String value2) {
                addCriterion("supporting_file_id not between", value1, value2, "supportingFileId");
                return (Criteria) this;
            }

        
            public Criteria andSupportingFileMemoIsNull() {
                addCriterion("supporting_file_memo is null");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoIsNotNull() {
                addCriterion("supporting_file_memo is not null");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoEqualTo(String value) {
                addCriterion("supporting_file_memo =", value, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoNotEqualTo(String value) {
                addCriterion("supporting_file_memo <>", value, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoGreaterThan(String value) {
                addCriterion("supporting_file_memo >", value, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoGreaterThanOrEqualTo(String value) {
                addCriterion("supporting_file_memo >=", value, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoLessThan(String value) {
                addCriterion("supporting_file_memo <", value, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoLessThanOrEqualTo(String value) {
                addCriterion("supporting_file_memo <=", value, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoLike(String value) {
                addCriterion("supporting_file_memo like", value, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoNotLike(String value) {
                addCriterion("supporting_file_memo not like", value, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoIn(List<String> values) {
                addCriterion("supporting_file_memo in", values, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoNotIn(List<String> values) {
                addCriterion("supporting_file_memo not in", values, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoBetween(String value1, String value2) {
                addCriterion("supporting_file_memo between", value1, value2, "supportingFileMemo");
                return (Criteria) this;
            }

            public Criteria andSupportingFileMemoNotBetween(String value1, String value2) {
                addCriterion("supporting_file_memo not between", value1, value2, "supportingFileMemo");
                return (Criteria) this;
            }

        
            public Criteria andTypeSelfIsNull() {
                addCriterion("type_self is null");
                return (Criteria) this;
            }

            public Criteria andTypeSelfIsNotNull() {
                addCriterion("type_self is not null");
                return (Criteria) this;
            }

            public Criteria andTypeSelfEqualTo(Integer value) {
                addCriterion("type_self =", value, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfNotEqualTo(Integer value) {
                addCriterion("type_self <>", value, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfGreaterThan(Integer value) {
                addCriterion("type_self >", value, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfGreaterThanOrEqualTo(Integer value) {
                addCriterion("type_self >=", value, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfLessThan(Integer value) {
                addCriterion("type_self <", value, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfLessThanOrEqualTo(Integer value) {
                addCriterion("type_self <=", value, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfLike(Integer value) {
                addCriterion("type_self like", value, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfNotLike(Integer value) {
                addCriterion("type_self not like", value, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfIn(List<Integer> values) {
                addCriterion("type_self in", values, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfNotIn(List<Integer> values) {
                addCriterion("type_self not in", values, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfBetween(Integer value1, Integer value2) {
                addCriterion("type_self between", value1, value2, "typeSelf");
                return (Criteria) this;
            }

            public Criteria andTypeSelfNotBetween(Integer value1, Integer value2) {
                addCriterion("type_self not between", value1, value2, "typeSelf");
                return (Criteria) this;
            }

        
            public Criteria andTypeSubreviewIsNull() {
                addCriterion("type_subreview is null");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewIsNotNull() {
                addCriterion("type_subreview is not null");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewEqualTo(Integer value) {
                addCriterion("type_subreview =", value, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewNotEqualTo(Integer value) {
                addCriterion("type_subreview <>", value, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewGreaterThan(Integer value) {
                addCriterion("type_subreview >", value, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewGreaterThanOrEqualTo(Integer value) {
                addCriterion("type_subreview >=", value, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewLessThan(Integer value) {
                addCriterion("type_subreview <", value, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewLessThanOrEqualTo(Integer value) {
                addCriterion("type_subreview <=", value, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewLike(Integer value) {
                addCriterion("type_subreview like", value, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewNotLike(Integer value) {
                addCriterion("type_subreview not like", value, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewIn(List<Integer> values) {
                addCriterion("type_subreview in", values, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewNotIn(List<Integer> values) {
                addCriterion("type_subreview not in", values, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewBetween(Integer value1, Integer value2) {
                addCriterion("type_subreview between", value1, value2, "typeSubreview");
                return (Criteria) this;
            }

            public Criteria andTypeSubreviewNotBetween(Integer value1, Integer value2) {
                addCriterion("type_subreview not between", value1, value2, "typeSubreview");
                return (Criteria) this;
            }

        
            public Criteria andIsSubauditeditIsNull() {
                addCriterion("is_subauditedit is null");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditIsNotNull() {
                addCriterion("is_subauditedit is not null");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditEqualTo(String value) {
                addCriterion("is_subauditedit =", value, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditNotEqualTo(String value) {
                addCriterion("is_subauditedit <>", value, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditGreaterThan(String value) {
                addCriterion("is_subauditedit >", value, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditGreaterThanOrEqualTo(String value) {
                addCriterion("is_subauditedit >=", value, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditLessThan(String value) {
                addCriterion("is_subauditedit <", value, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditLessThanOrEqualTo(String value) {
                addCriterion("is_subauditedit <=", value, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditLike(String value) {
                addCriterion("is_subauditedit like", value, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditNotLike(String value) {
                addCriterion("is_subauditedit not like", value, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditIn(List<String> values) {
                addCriterion("is_subauditedit in", values, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditNotIn(List<String> values) {
                addCriterion("is_subauditedit not in", values, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditBetween(String value1, String value2) {
                addCriterion("is_subauditedit between", value1, value2, "isSubauditedit");
                return (Criteria) this;
            }

            public Criteria andIsSubauditeditNotBetween(String value1, String value2) {
                addCriterion("is_subauditedit not between", value1, value2, "isSubauditedit");
                return (Criteria) this;
            }

        
            public Criteria andTypeReviewIsNull() {
                addCriterion("type_review is null");
                return (Criteria) this;
            }

            public Criteria andTypeReviewIsNotNull() {
                addCriterion("type_review is not null");
                return (Criteria) this;
            }

            public Criteria andTypeReviewEqualTo(Integer value) {
                addCriterion("type_review =", value, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewNotEqualTo(Integer value) {
                addCriterion("type_review <>", value, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewGreaterThan(Integer value) {
                addCriterion("type_review >", value, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewGreaterThanOrEqualTo(Integer value) {
                addCriterion("type_review >=", value, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewLessThan(Integer value) {
                addCriterion("type_review <", value, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewLessThanOrEqualTo(Integer value) {
                addCriterion("type_review <=", value, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewLike(Integer value) {
                addCriterion("type_review like", value, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewNotLike(Integer value) {
                addCriterion("type_review not like", value, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewIn(List<Integer> values) {
                addCriterion("type_review in", values, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewNotIn(List<Integer> values) {
                addCriterion("type_review not in", values, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewBetween(Integer value1, Integer value2) {
                addCriterion("type_review between", value1, value2, "typeReview");
                return (Criteria) this;
            }

            public Criteria andTypeReviewNotBetween(Integer value1, Integer value2) {
                addCriterion("type_review not between", value1, value2, "typeReview");
                return (Criteria) this;
            }

        
            public Criteria andIsAuditeditIsNull() {
                addCriterion("is_auditedit is null");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditIsNotNull() {
                addCriterion("is_auditedit is not null");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditEqualTo(String value) {
                addCriterion("is_auditedit =", value, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditNotEqualTo(String value) {
                addCriterion("is_auditedit <>", value, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditGreaterThan(String value) {
                addCriterion("is_auditedit >", value, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditGreaterThanOrEqualTo(String value) {
                addCriterion("is_auditedit >=", value, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditLessThan(String value) {
                addCriterion("is_auditedit <", value, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditLessThanOrEqualTo(String value) {
                addCriterion("is_auditedit <=", value, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditLike(String value) {
                addCriterion("is_auditedit like", value, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditNotLike(String value) {
                addCriterion("is_auditedit not like", value, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditIn(List<String> values) {
                addCriterion("is_auditedit in", values, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditNotIn(List<String> values) {
                addCriterion("is_auditedit not in", values, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditBetween(String value1, String value2) {
                addCriterion("is_auditedit between", value1, value2, "isAuditedit");
                return (Criteria) this;
            }

            public Criteria andIsAuditeditNotBetween(String value1, String value2) {
                addCriterion("is_auditedit not between", value1, value2, "isAuditedit");
                return (Criteria) this;
            }

        
            public Criteria andReviewMemoIsNull() {
                addCriterion("review_memo is null");
                return (Criteria) this;
            }

            public Criteria andReviewMemoIsNotNull() {
                addCriterion("review_memo is not null");
                return (Criteria) this;
            }

            public Criteria andReviewMemoEqualTo(String value) {
                addCriterion("review_memo =", value, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoNotEqualTo(String value) {
                addCriterion("review_memo <>", value, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoGreaterThan(String value) {
                addCriterion("review_memo >", value, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoGreaterThanOrEqualTo(String value) {
                addCriterion("review_memo >=", value, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoLessThan(String value) {
                addCriterion("review_memo <", value, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoLessThanOrEqualTo(String value) {
                addCriterion("review_memo <=", value, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoLike(String value) {
                addCriterion("review_memo like", value, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoNotLike(String value) {
                addCriterion("review_memo not like", value, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoIn(List<String> values) {
                addCriterion("review_memo in", values, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoNotIn(List<String> values) {
                addCriterion("review_memo not in", values, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoBetween(String value1, String value2) {
                addCriterion("review_memo between", value1, value2, "reviewMemo");
                return (Criteria) this;
            }

            public Criteria andReviewMemoNotBetween(String value1, String value2) {
                addCriterion("review_memo not between", value1, value2, "reviewMemo");
                return (Criteria) this;
            }

        
            public Criteria andRemarkIsNull() {
                addCriterion("remark is null");
                return (Criteria) this;
            }

            public Criteria andRemarkIsNotNull() {
                addCriterion("remark is not null");
                return (Criteria) this;
            }

            public Criteria andRemarkEqualTo(String value) {
                addCriterion("remark =", value, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkNotEqualTo(String value) {
                addCriterion("remark <>", value, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkGreaterThan(String value) {
                addCriterion("remark >", value, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkGreaterThanOrEqualTo(String value) {
                addCriterion("remark >=", value, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkLessThan(String value) {
                addCriterion("remark <", value, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkLessThanOrEqualTo(String value) {
                addCriterion("remark <=", value, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkLike(String value) {
                addCriterion("remark like", value, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkNotLike(String value) {
                addCriterion("remark not like", value, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkIn(List<String> values) {
                addCriterion("remark in", values, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkNotIn(List<String> values) {
                addCriterion("remark not in", values, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkBetween(String value1, String value2) {
                addCriterion("remark between", value1, value2, "remark");
                return (Criteria) this;
            }

            public Criteria andRemarkNotBetween(String value1, String value2) {
                addCriterion("remark not between", value1, value2, "remark");
                return (Criteria) this;
            }

        
            public Criteria andFkSupplyIdIsNull() {
                addCriterion("fk_supply_id is null");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdIsNotNull() {
                addCriterion("fk_supply_id is not null");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdEqualTo(String value) {
                addCriterion("fk_supply_id =", value, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdNotEqualTo(String value) {
                addCriterion("fk_supply_id <>", value, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdGreaterThan(String value) {
                addCriterion("fk_supply_id >", value, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdGreaterThanOrEqualTo(String value) {
                addCriterion("fk_supply_id >=", value, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdLessThan(String value) {
                addCriterion("fk_supply_id <", value, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdLessThanOrEqualTo(String value) {
                addCriterion("fk_supply_id <=", value, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdLike(String value) {
                addCriterion("fk_supply_id like", value, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdNotLike(String value) {
                addCriterion("fk_supply_id not like", value, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdIn(List<String> values) {
                addCriterion("fk_supply_id in", values, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdNotIn(List<String> values) {
                addCriterion("fk_supply_id not in", values, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdBetween(String value1, String value2) {
                addCriterion("fk_supply_id between", value1, value2, "fkSupplyId");
                return (Criteria) this;
            }

            public Criteria andFkSupplyIdNotBetween(String value1, String value2) {
                addCriterion("fk_supply_id not between", value1, value2, "fkSupplyId");
                return (Criteria) this;
            }

        
            public Criteria andSupplyNameIsNull() {
                addCriterion("supply_name is null");
                return (Criteria) this;
            }

            public Criteria andSupplyNameIsNotNull() {
                addCriterion("supply_name is not null");
                return (Criteria) this;
            }

            public Criteria andSupplyNameEqualTo(String value) {
                addCriterion("supply_name =", value, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameNotEqualTo(String value) {
                addCriterion("supply_name <>", value, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameGreaterThan(String value) {
                addCriterion("supply_name >", value, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameGreaterThanOrEqualTo(String value) {
                addCriterion("supply_name >=", value, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameLessThan(String value) {
                addCriterion("supply_name <", value, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameLessThanOrEqualTo(String value) {
                addCriterion("supply_name <=", value, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameLike(String value) {
                addCriterion("supply_name like", value, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameNotLike(String value) {
                addCriterion("supply_name not like", value, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameIn(List<String> values) {
                addCriterion("supply_name in", values, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameNotIn(List<String> values) {
                addCriterion("supply_name not in", values, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameBetween(String value1, String value2) {
                addCriterion("supply_name between", value1, value2, "supplyName");
                return (Criteria) this;
            }

            public Criteria andSupplyNameNotBetween(String value1, String value2) {
                addCriterion("supply_name not between", value1, value2, "supplyName");
                return (Criteria) this;
            }

        
            public Criteria andFkTaskIdIsNull() {
                addCriterion("fk_task_id is null");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdIsNotNull() {
                addCriterion("fk_task_id is not null");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdEqualTo(String value) {
                addCriterion("fk_task_id =", value, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdNotEqualTo(String value) {
                addCriterion("fk_task_id <>", value, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdGreaterThan(String value) {
                addCriterion("fk_task_id >", value, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdGreaterThanOrEqualTo(String value) {
                addCriterion("fk_task_id >=", value, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdLessThan(String value) {
                addCriterion("fk_task_id <", value, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdLessThanOrEqualTo(String value) {
                addCriterion("fk_task_id <=", value, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdLike(String value) {
                addCriterion("fk_task_id like", value, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdNotLike(String value) {
                addCriterion("fk_task_id not like", value, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdIn(List<String> values) {
                addCriterion("fk_task_id in", values, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdNotIn(List<String> values) {
                addCriterion("fk_task_id not in", values, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdBetween(String value1, String value2) {
                addCriterion("fk_task_id between", value1, value2, "fkTaskId");
                return (Criteria) this;
            }

            public Criteria andFkTaskIdNotBetween(String value1, String value2) {
                addCriterion("fk_task_id not between", value1, value2, "fkTaskId");
                return (Criteria) this;
            }

        
            public Criteria andTaskStateIsNull() {
                addCriterion("task_state is null");
                return (Criteria) this;
            }

            public Criteria andTaskStateIsNotNull() {
                addCriterion("task_state is not null");
                return (Criteria) this;
            }

            public Criteria andTaskStateEqualTo(String value) {
                addCriterion("task_state =", value, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateNotEqualTo(String value) {
                addCriterion("task_state <>", value, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateGreaterThan(String value) {
                addCriterion("task_state >", value, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateGreaterThanOrEqualTo(String value) {
                addCriterion("task_state >=", value, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateLessThan(String value) {
                addCriterion("task_state <", value, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateLessThanOrEqualTo(String value) {
                addCriterion("task_state <=", value, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateLike(String value) {
                addCriterion("task_state like", value, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateNotLike(String value) {
                addCriterion("task_state not like", value, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateIn(List<String> values) {
                addCriterion("task_state in", values, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateNotIn(List<String> values) {
                addCriterion("task_state not in", values, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateBetween(String value1, String value2) {
                addCriterion("task_state between", value1, value2, "taskState");
                return (Criteria) this;
            }

            public Criteria andTaskStateNotBetween(String value1, String value2) {
                addCriterion("task_state not between", value1, value2, "taskState");
                return (Criteria) this;
            }

        
            public Criteria andRejectReasonIsNull() {
                addCriterion("reject_reason is null");
                return (Criteria) this;
            }

            public Criteria andRejectReasonIsNotNull() {
                addCriterion("reject_reason is not null");
                return (Criteria) this;
            }

            public Criteria andRejectReasonEqualTo(String value) {
                addCriterion("reject_reason =", value, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonNotEqualTo(String value) {
                addCriterion("reject_reason <>", value, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonGreaterThan(String value) {
                addCriterion("reject_reason >", value, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonGreaterThanOrEqualTo(String value) {
                addCriterion("reject_reason >=", value, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonLessThan(String value) {
                addCriterion("reject_reason <", value, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonLessThanOrEqualTo(String value) {
                addCriterion("reject_reason <=", value, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonLike(String value) {
                addCriterion("reject_reason like", value, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonNotLike(String value) {
                addCriterion("reject_reason not like", value, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonIn(List<String> values) {
                addCriterion("reject_reason in", values, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonNotIn(List<String> values) {
                addCriterion("reject_reason not in", values, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonBetween(String value1, String value2) {
                addCriterion("reject_reason between", value1, value2, "rejectReason");
                return (Criteria) this;
            }

            public Criteria andRejectReasonNotBetween(String value1, String value2) {
                addCriterion("reject_reason not between", value1, value2, "rejectReason");
                return (Criteria) this;
            }

        
            public Criteria andRejectDateIsNull() {
                addCriterion("reject_date is null");
                return (Criteria) this;
            }

            public Criteria andRejectDateIsNotNull() {
                addCriterion("reject_date is not null");
                return (Criteria) this;
            }

            public Criteria andRejectDateEqualTo(Date value) {
                addCriterion("reject_date =", value, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateNotEqualTo(Date value) {
                addCriterion("reject_date <>", value, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateGreaterThan(Date value) {
                addCriterion("reject_date >", value, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateGreaterThanOrEqualTo(Date value) {
                addCriterion("reject_date >=", value, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateLessThan(Date value) {
                addCriterion("reject_date <", value, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateLessThanOrEqualTo(Date value) {
                addCriterion("reject_date <=", value, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateLike(Date value) {
                addCriterion("reject_date like", value, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateNotLike(Date value) {
                addCriterion("reject_date not like", value, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateIn(List<Date> values) {
                addCriterion("reject_date in", values, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateNotIn(List<Date> values) {
                addCriterion("reject_date not in", values, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateBetween(Date value1, Date value2) {
                addCriterion("reject_date between", value1, value2, "rejectDate");
                return (Criteria) this;
            }

            public Criteria andRejectDateNotBetween(Date value1, Date value2) {
                addCriterion("reject_date not between", value1, value2, "rejectDate");
                return (Criteria) this;
            }

        
        public Criteria andLikeQuery(MonthNecessary record) {
            List<String> list = new ArrayList<String>();
            List<String> list2 = new ArrayList<String>();
            StringBuffer buffer = new StringBuffer();
                            if (record.getId() != null && StrUtil.isNotEmpty(record.getId().toString())) {
                    list.add("ifnull(id,'')");
                }
                            if (record.getNum() != null && StrUtil.isNotEmpty(record.getNum().toString())) {
                    list.add("ifnull(num,'')");
                }
                            if (record.getFirstProject() != null && StrUtil.isNotEmpty(record.getFirstProject().toString())) {
                    list.add("ifnull(first_project,'')");
                }
                            if (record.getSecondProject() != null && StrUtil.isNotEmpty(record.getSecondProject().toString())) {
                    list.add("ifnull(second_project,'')");
                }
                            if (record.getTestMode() != null && StrUtil.isNotEmpty(record.getTestMode().toString())) {
                    list.add("ifnull(test_mode,'')");
                }
                            if (record.getEvaluationPeriod() != null && StrUtil.isNotEmpty(record.getEvaluationPeriod().toString())) {
                    list.add("ifnull(evaluation_period,'')");
                }
                            if (record.getResDeptId() != null && StrUtil.isNotEmpty(record.getResDeptId().toString())) {
                    list.add("ifnull(res_dept_id,'')");
                }
                            if (record.getResDeptName() != null && StrUtil.isNotEmpty(record.getResDeptName().toString())) {
                    list.add("ifnull(res_dept_name,'')");
                }
                            if (record.getSupportingFileId() != null && StrUtil.isNotEmpty(record.getSupportingFileId().toString())) {
                    list.add("ifnull(supporting_file_id,'')");
                }
                            if (record.getSupportingFileMemo() != null && StrUtil.isNotEmpty(record.getSupportingFileMemo().toString())) {
                    list.add("ifnull(supporting_file_memo,'')");
                }
                            if (record.getTypeSelf() != null && StrUtil.isNotEmpty(record.getTypeSelf().toString())) {
                    list.add("ifnull(type_self,'')");
                }
                            if (record.getTypeSubreview() != null && StrUtil.isNotEmpty(record.getTypeSubreview().toString())) {
                    list.add("ifnull(type_subreview,'')");
                }
                            if (record.getIsSubauditedit() != null && StrUtil.isNotEmpty(record.getIsSubauditedit().toString())) {
                    list.add("ifnull(is_subauditedit,'')");
                }
                            if (record.getTypeReview() != null && StrUtil.isNotEmpty(record.getTypeReview().toString())) {
                    list.add("ifnull(type_review,'')");
                }
                            if (record.getIsAuditedit() != null && StrUtil.isNotEmpty(record.getIsAuditedit().toString())) {
                    list.add("ifnull(is_auditedit,'')");
                }
                            if (record.getReviewMemo() != null && StrUtil.isNotEmpty(record.getReviewMemo().toString())) {
                    list.add("ifnull(review_memo,'')");
                }
                            if (record.getRemark() != null && StrUtil.isNotEmpty(record.getRemark().toString())) {
                    list.add("ifnull(remark,'')");
                }
                            if (record.getFkSupplyId() != null && StrUtil.isNotEmpty(record.getFkSupplyId().toString())) {
                    list.add("ifnull(fk_supply_id,'')");
                }
                            if (record.getSupplyName() != null && StrUtil.isNotEmpty(record.getSupplyName().toString())) {
                    list.add("ifnull(supply_name,'')");
                }
                            if (record.getFkTaskId() != null && StrUtil.isNotEmpty(record.getFkTaskId().toString())) {
                    list.add("ifnull(fk_task_id,'')");
                }
                            if (record.getTaskState() != null && StrUtil.isNotEmpty(record.getTaskState().toString())) {
                    list.add("ifnull(task_state,'')");
                }
                            if (record.getRejectReason() != null && StrUtil.isNotEmpty(record.getRejectReason().toString())) {
                    list.add("ifnull(reject_reason,'')");
                }
                            if (record.getRejectDate() != null && StrUtil.isNotEmpty(record.getRejectDate().toString())) {
                    list.add("ifnull(reject_date,'')");
                }
                                        if (record.getId() != null && StrUtil.isNotEmpty(record.getId().toString())) {
                    list2.add("'%" + record.getId() + "%'");
                }
                            if (record.getNum() != null && StrUtil.isNotEmpty(record.getNum().toString())) {
                    list2.add("'%" + record.getNum() + "%'");
                }
                            if (record.getFirstProject() != null && StrUtil.isNotEmpty(record.getFirstProject().toString())) {
                    list2.add("'%" + record.getFirstProject() + "%'");
                }
                            if (record.getSecondProject() != null && StrUtil.isNotEmpty(record.getSecondProject().toString())) {
                    list2.add("'%" + record.getSecondProject() + "%'");
                }
                            if (record.getTestMode() != null && StrUtil.isNotEmpty(record.getTestMode().toString())) {
                    list2.add("'%" + record.getTestMode() + "%'");
                }
                            if (record.getEvaluationPeriod() != null && StrUtil.isNotEmpty(record.getEvaluationPeriod().toString())) {
                    list2.add("'%" + record.getEvaluationPeriod() + "%'");
                }
                            if (record.getResDeptId() != null && StrUtil.isNotEmpty(record.getResDeptId().toString())) {
                    list2.add("'%" + record.getResDeptId() + "%'");
                }
                            if (record.getResDeptName() != null && StrUtil.isNotEmpty(record.getResDeptName().toString())) {
                    list2.add("'%" + record.getResDeptName() + "%'");
                }
                            if (record.getSupportingFileId() != null && StrUtil.isNotEmpty(record.getSupportingFileId().toString())) {
                    list2.add("'%" + record.getSupportingFileId() + "%'");
                }
                            if (record.getSupportingFileMemo() != null && StrUtil.isNotEmpty(record.getSupportingFileMemo().toString())) {
                    list2.add("'%" + record.getSupportingFileMemo() + "%'");
                }
                            if (record.getTypeSelf() != null && StrUtil.isNotEmpty(record.getTypeSelf().toString())) {
                    list2.add("'%" + record.getTypeSelf() + "%'");
                }
                            if (record.getTypeSubreview() != null && StrUtil.isNotEmpty(record.getTypeSubreview().toString())) {
                    list2.add("'%" + record.getTypeSubreview() + "%'");
                }
                            if (record.getIsSubauditedit() != null && StrUtil.isNotEmpty(record.getIsSubauditedit().toString())) {
                    list2.add("'%" + record.getIsSubauditedit() + "%'");
                }
                            if (record.getTypeReview() != null && StrUtil.isNotEmpty(record.getTypeReview().toString())) {
                    list2.add("'%" + record.getTypeReview() + "%'");
                }
                            if (record.getIsAuditedit() != null && StrUtil.isNotEmpty(record.getIsAuditedit().toString())) {
                    list2.add("'%" + record.getIsAuditedit() + "%'");
                }
                            if (record.getReviewMemo() != null && StrUtil.isNotEmpty(record.getReviewMemo().toString())) {
                    list2.add("'%" + record.getReviewMemo() + "%'");
                }
                            if (record.getRemark() != null && StrUtil.isNotEmpty(record.getRemark().toString())) {
                    list2.add("'%" + record.getRemark() + "%'");
                }
                            if (record.getFkSupplyId() != null && StrUtil.isNotEmpty(record.getFkSupplyId().toString())) {
                    list2.add("'%" + record.getFkSupplyId() + "%'");
                }
                            if (record.getSupplyName() != null && StrUtil.isNotEmpty(record.getSupplyName().toString())) {
                    list2.add("'%" + record.getSupplyName() + "%'");
                }
                            if (record.getFkTaskId() != null && StrUtil.isNotEmpty(record.getFkTaskId().toString())) {
                    list2.add("'%" + record.getFkTaskId() + "%'");
                }
                            if (record.getTaskState() != null && StrUtil.isNotEmpty(record.getTaskState().toString())) {
                    list2.add("'%" + record.getTaskState() + "%'");
                }
                            if (record.getRejectReason() != null && StrUtil.isNotEmpty(record.getRejectReason().toString())) {
                    list2.add("'%" + record.getRejectReason() + "%'");
                }
                            if (record.getRejectDate() != null && StrUtil.isNotEmpty(record.getRejectDate().toString())) {
                    list2.add("'%" + record.getRejectDate() + "%'");
                }
                        buffer.append(" CONCAT(");
            buffer.append(StrUtil.join(",", list));
            buffer.append(")");
            buffer.append(" like CONCAT(");
            buffer.append(StrUtil.join(",", list2));
            buffer.append(")");
            if (!" CONCAT() like CONCAT()".equals(buffer.toString())) {
                addCriterion(buffer.toString());
            }
            return (Criteria) this;
        }

        public Criteria andLikeQuery2(String searchText) {
            List<String> list = new ArrayList<String>();
            StringBuffer buffer = new StringBuffer();
                            list.add("ifnull(id,'')");
                            list.add("ifnull(num,'')");
                            list.add("ifnull(first_project,'')");
                            list.add("ifnull(second_project,'')");
                            list.add("ifnull(test_mode,'')");
                            list.add("ifnull(evaluation_period,'')");
                            list.add("ifnull(res_dept_id,'')");
                            list.add("ifnull(res_dept_name,'')");
                            list.add("ifnull(supporting_file_id,'')");
                            list.add("ifnull(supporting_file_memo,'')");
                            list.add("ifnull(type_self,'')");
                            list.add("ifnull(type_subreview,'')");
                            list.add("ifnull(is_subauditedit,'')");
                            list.add("ifnull(type_review,'')");
                            list.add("ifnull(is_auditedit,'')");
                            list.add("ifnull(review_memo,'')");
                            list.add("ifnull(remark,'')");
                            list.add("ifnull(fk_supply_id,'')");
                            list.add("ifnull(supply_name,'')");
                            list.add("ifnull(fk_task_id,'')");
                            list.add("ifnull(task_state,'')");
                            list.add("ifnull(reject_reason,'')");
                            list.add("ifnull(reject_date,'')");
                        buffer.append(" CONCAT(");
            buffer.append(StrUtil.join(",", list));
            buffer.append(")");
            buffer.append("like '%");
            buffer.append(searchText);
            buffer.append("%'");
            addCriterion(buffer.toString());
            return (Criteria) this;
        }

    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}